The present invention relates to machine vision and more specifically to portable machine vision systems for collecting images of items or groups of items, identifying the item(s) and performing one or more secondary functions using the collected images.
When assembly lines were first configured to increase the rate of manufacturing processes, often the results of processes had to be measured by hand to ensure high quality products. For instance, where two parts had to be between two and 2⅛th inch apart, a line worker had to use some type of mechanical hand held measuring device to manually measure the distance between the two parts and confirm that the distance was within the required range. Similarly, where a bottle was to be filled to a specific height with detergent prior to shipping, a line worker would have to manually examine the bottle to ensure that the detergent level was within a required range. While manual inspection and measurement can have good results when performed correctly, in many cases such procedures were prone to error, were mundane for the persons performing the procedures, were relatively expensive and time consuming to implement and could only be performed on a random basis (i.e., on every 100th product that passed along the line).
More recently, camera or machine vision systems have been developed that eliminate many of the problems associated with manual inspection procedures. For instance, in one application a camera and a light source may be rigidly mounted adjacent a station along a manufacturing transfer line including clamps that, when a semi-finished product is moved to the station, clamp the product in a precise juxtaposition (i.e., at a precise distance from and along a precise trajectory to) with respect to the camera and light source. Here, the camera and light source may be positioned twelve inches from and normal to a space between first and second product components such that an image of the clamped product generated by the camera shows the first and second components separated by the space having a space dimension. In this case, the image may be provided to a processor for identifying the space dimension and for comparing the identified dimension to a required space dimension between the first and second components.
To determine the space dimension in the image, the processor is programmed to scale the space defined by the first and second components in the image appropriately assuming the precise juxtaposition of the camera to the components (i.e., assuming a normal camera trajectory and twelve inches between the camera and the space). Where the identified dimension is different than an expected and required dimension the processor may be programmed to reject the part, to store the difference, to indicate the difference, to suggest a correction to eliminate the difference, etc.
Other imaging applications in addition to dimension determination include color verification, defect detection, object/pattern verification, object recognition, assembly verification and archival processes for storing images and/or other correlated information (e.g., the results of color verification processes, defect detection processes, etc.). In each of the applications listed above, camera images are processed in a different fashion to facilitate different functions but the precise juxtaposition restrictions required to generate meaningful/useful images still exist.
Systems like the one described above work well in the context of mechanical components that ensure specific relative juxtapositions of a camera, a light source and a product or product feature being imaged. Hereinafter systems that rigidly mount cameras and light sources in specific positions with respect to other components that restrict product position during imaging will be referred to as “constrained vision systems”.
Unfortunately, there are a huge number of manufacturing and other applications where constrained vision systems are not easily employed but where the advantages of machine vision described above (i.e., accuracy, speed, low cost, consistency, etc.) would be useful. For instance, in the case of jet engine manufacturing, engines are typically assembled in relatively small numbers at assembly stations. Here, an engine often includes a large number of different components and the dimensions and spacings between many of the components must be precise in order for the engine to operate properly. Measurement of each of the required dimensions and spacings would require an excessive number of stationary cameras and light sources and would therefore be too costly for most applications. In addition, even if costs associated with required stationary cameras and sources were not an issue, placement of the cameras and sources adjacent the assembly station and at proper positions for obtaining required images would be impossible given the fact that assembly personnel need to move freely within the assembly station space during the assembly process.
Moreover, in many applications the product (e.g., a jet engine) being assembled may be mounted for rotation about one or more axis so that assembly personnel can manipulate the product easily to obtain different optimal vantage points for installing components. Here, where product position is alterable, even if a stationary camera were provided adjacent an assembly station, precise positioning of the camera with respect to the product would be difficult to achieve as the product is moved to optimize position for installation purposes. Where camera position with respect to the product/feature being imaged is unknown or is inaccurately assumed, resulting images can be mis-scaled such that comparison to required ranges is inappropriate. For instance, assume that a required distance between two features must be within a range of five and 5⅛th inches and a machine vision system assumes that a camera is twelve inches from and normal to a space between the two features when an image is obtained. In this case, when an image is obtained, the system may be programmed to identify the two features and measures the dimension there between. Thereafter, the system scales the measured dimension assuming the image was taken from twelve inches and at an angle normal to the space between the two features. In this case, if a camera used to obtain an image is at an angle (e.g., 15 degrees) with respect to normal and/or is fifteen inches from the space as opposed to twelve inches, the dimension calculated by the system will be different than the actual dimension and an error will likely be indicated even if the actual dimension is within the required range.
Another exemplary application where constrained vision systems are not easily employed but where the advantages of machine vision described above would be useful is in small manufacturing plants. For instance, in a small metal working facility there may be 1000 different measurements that routinely need to be taken on various products. Here, while at least some of the 1000 measurements may need to be made hundreds of times each year, the volume of product associated with even the most routine measurements may not justify the costs associated with even a single stationary machine vision system. In these cases the advantages of machine vision are typically foregone and all measurements end up being manual.
Thus, it would be advantageous to have a system and methods whereby the advantages of machine vision systems could be employed in many applications in which such advantages have heretofore been foregone for various reasons and where costs associated therewith can be reduced appreciably. More specifically, it would be advantageous to have a system and methods whereby one camera and light assembly could be used to obtain many different product/feature images of one or a plurality of products and where the system could automatically identify product types, image types and specific features associated with image and product types and could then perform product and image specific applications or supplemental processes. Furthermore, it would be advantageous to have a system and methods that provide guidance to a system operator for generally optimally positioning a camera/light source with respect to products and features for obtaining suitable images for processing.